home *** CD-ROM | disk | FTP | other *** search
/ isnet Internet / Isnet Internet CD.iso / prog / chat / 12 / 12.exe / SYSTEM / Channel.als < prev    next >
Encoding:
Text File  |  2000-02-26  |  22.4 KB  |  811 lines

  1. aj {
  2.   if ($1) {
  3.     if ($findtok(%autojoin. [ $+ [ %irc.network ] ] ,$1,1,44)) iecho $hc($1) is already in $sc(%irc.network) autojoin!
  4.     else {
  5.       set %autojoin. [ $+ [ %irc.network ] ] $addtok(%autojoin. [ $+ [ %irc.network ] ] ,$1,44)
  6.       iecho Added $hc($1) to $sc(%irc.network) autojoin.
  7.       if ($me !ison $1) {
  8.         iecho Auto-joining $hc($1) $+ ...
  9.         join $1
  10.       }
  11.     }
  12.   }
  13.   elseif ($chan) {
  14.     if ($findtok(%autojoin. [ $+ [ %irc.network ] ] ,#,1,44)) iecho $hc(#) is already in $sc(%irc.network) autojoin!
  15.     else {
  16.       set %autojoin. [ $+ [ %irc.network ] ] $addtok(%autojoin. [ $+ [ %irc.network ] ] ,#,44)
  17.       iecho Added $hc(#) to $sc(%irc.network) autojoin.
  18.     }
  19.   }
  20.   else iecho Syntax: /aj [#channel]
  21. }
  22. ajoin dialog -m ircN.autojoin ircN.autojoin
  23. at .quote topic # : $+ $chan(#).topic $$1-
  24. bk {
  25.   if ($2) .quote kick # $nc($$1) : $+ $2- $+ $crlf $+ mode # +b $address($nc($$1),3)
  26.   else .quote kick # $nc($$1) : $+ %shitkick $+ $crlf $+ mode # +b $address($nc($$1),3)
  27. }
  28. cban {
  29.   unset %tmp.cban
  30.   set %i.cban 0
  31.   :start
  32.   inc %i.cban
  33.   if ($comchan($1,%i.cban)) {
  34.     if ($comchan($1,%i.cban).op) set %tmp.cban %tmp.cban $+ $crlf $+ mode $comchan($1,%i.cban) $de-op($1)
  35.     goto start
  36.   }
  37.   if (%tmp.cban) .quote %tmp.cban
  38.   unset %tmp.cban
  39. }
  40. ckb {
  41.   unset %tmp.ckb
  42.   set %i.ckb 0
  43.   :start
  44.   inc %i.ckb
  45.   if ($comchan($1,%i.ckb)) {
  46.     if ($comchan($1,%i.ckb).op) set %tmp.ckb %tmp.ckb $+ $crlf $+ mode $comchan($1,%i.ckb) $de-op($1) $+ $crlf $+ kick $comchan($1,%i.ckb) $1 : $+ $2-
  47.     goto start
  48.   }
  49.   if (%tmp.ckb) .quote %tmp.ckb
  50.   unset %tmp.ckb
  51. }
  52. ckick {
  53.   unset %tmp.ckick
  54.   set %i.ckick 0
  55.   :start
  56.   inc %i.ckick
  57.   if ($comchan($1,%i.ckick)) {
  58.     if ($comchan($1,%i.ckick).op) set %tmp.ckick %tmp.ckick $+ $crlf $+ kick $comchan($1,%i.ckick) $1 : $+ $2-
  59.     goto start
  60.   }
  61.   if (%tmp.ckick) .quote %tmp.ckick
  62.   unset %tmp.ckick
  63. }
  64. clban {
  65.   if ($me isop #) {
  66.     set %clearbans on
  67.     mode # b
  68.   }
  69.   else {
  70.     if ($form(aliases,no-ops)) iecho $readini %formats aliases no-ops
  71.     else iecho You do not have ops on $hc(#) $+ .
  72.   }
  73. }
  74. cm mode # $1-
  75. colnick {
  76.   if ($1 == on) {
  77.     if (%colnick == no) {
  78.       set %f11cmd colnick off
  79.       iecho $ac(Warning:) keeping nickname colors updated uses a LOT of processor time.
  80.       iecho If you have a slower computer (under Pentium 133), it is recommended that you not use this feature.
  81.       iecho Press $hc(F11) now to disable nickname colors.
  82.     }
  83.     set %colnick on
  84.     iecho Nickname list colours turned $hc(on) $+ .
  85.     colchan
  86.   }
  87.   elseif ($1 == off) {
  88.     set %colnick off
  89.     iecho Nickname list colours turned $hc(off) $+ .
  90.     set %i.colnick 0
  91.     :start
  92.     inc %i.colnick
  93.     if ($chan(%i.colnick)) {
  94.       set %j.colnick 0
  95.       :start2
  96.       inc %j.colnick
  97.       if ($nick($chan(%i.colnick),%j.colnick)) {
  98.         cline $chan(%i.colnick) %j.colnick
  99.         goto start2
  100.       }
  101.       goto start
  102.     }
  103.   }
  104.   else {
  105.     if ($1 ischan) set %tmp.colnick #$$1
  106.     elseif ($active ischan) set %tmp.colnick $active
  107.     else {
  108.       iecho Syntax: /colnick [chan]
  109.       return
  110.     }
  111.     set %i.colnick 0
  112.     :start3
  113.     inc %i.colnick
  114.     if ($nick(%tmp.colnick,%i.colnick)) {
  115.       cline -r $ulcolor($nick(%tmp.colnick,%i.colnick),%tmp.colnick,$level($address($nick(%tmp.colnick,%i.colnick),5))) %tmp.colnick %i.colnick
  116.       goto start3
  117.     }
  118.   }
  119. }
  120. cop {
  121.   unset %tmp.cop
  122.   set %i.cop 0
  123.   :start
  124.   inc %i.cop
  125.   if ($comchan($1,%i.cop)) {
  126.     if ($comchan($1,%i.cop).op) set %tmp.cop %tmp.cop $+ $crlf $+ mode $comchan($1,%i.cop) +o $1
  127.     goto start
  128.   }
  129.   if (%tmp.cop) .quote %tmp.cop
  130.   unset %tmp.cop
  131. }
  132. ct .quote topic # :
  133. cw cwhois $1
  134. cwhois {
  135.   set %cwhois $addtok(%cwhois,$$1,44)
  136.   .quote whois $$1
  137. }
  138. cww cwhowas $1
  139. cwhowas {
  140.   set %cwhowas $addtok(%cwhowas,$$1,44)
  141.   .quote whowas $$1
  142. }
  143. cwi cwhoiis $1
  144. cwhoiis {
  145.   set %cwhois $addtok(%cwhois,$$1,44)
  146.   .quote whois $$1 $$1
  147. }
  148. cycle {
  149.   if ($1 ischan) {
  150.     if ((i isin $gettok($chan($1).mode,1,32)) && ($nick($1,0) > 1)) iecho Cannot cycle an invite only channel.
  151.     else {
  152.       set %jointime $ticks
  153.       .quote part $1 cycle $lf join $1 $chan($1).key
  154.     }
  155.   }
  156.   elseif ($active ischan) {
  157.     if ((i isin $gettok($chan(#).mode,1,32)) && ($nick(#,0) > 1)) iecho Cannot cycle an invite only channel.
  158.     else {
  159.       set %jointime $ticks
  160.       .quote part # cycle $lf join # $chan(#).key
  161.     }
  162.   }
  163.   else iecho Syntax: /cycle [channel]
  164. }
  165. dop mmode # - o $1-
  166. dt topic # %defaultt
  167. dv mmode # - v $1-
  168. fk {
  169.   if ($1 ischan) set %k.fk $1
  170.   else set %k.fk #
  171.   if ($1 ischan) set %j.fk $2
  172.   else set %j.fk $1
  173.   if ($me !isop %k.fk) {
  174.     iecho You do not have ops on $hc(%k.fk) $+ .
  175.     return
  176.   }
  177.   unset %tmp.fk
  178.   set %i.fk 0
  179.   :start
  180.   inc %i.fk
  181.   if ($ialchan(%j.fk,%k.fk,%i.fk) != $null) {
  182.     if ($ialchan(%j.fk,%k.fk,%i.fk).nick != $me) set %tmp.fk %tmp.fk $+ $crlf $+ kick %k.fk $ialchan(%j.fk,%k.fk,%i.fk).nick : $+ $iif($1 ischan,$iif($3,$3-,$addtok(Filter kick of,%j.fk,32)),$iif($2,$2-,$addtok(Filter kick of,%j.fk,32)))
  183.     goto start
  184.   }
  185.   if (%tmp.fk) .quote %tmp.fk
  186.   unset %tmp.fk
  187. }
  188. fkb {
  189.   if ($1 ischan) set %k.fkb $1
  190.   else set %k.fkb #
  191.   if ($1 ischan) set %j.fkb $2
  192.   else set %j.fkb $1
  193.   if ($me !isop %k.fkb) {
  194.     iecho You do not have ops on $hc(%k.fkb) $+ .
  195.     return
  196.   }
  197.   set %tmp.fkb mode %k.fkb +b %j.fkb
  198.   set %i.fkb 0
  199.   :start
  200.   inc %i.fkb
  201.   if ($ialchan(%j.fkb,%k.fkb,%i.fkb) != $null) {
  202.     if ($ialchan(%j.fkb,%k.fkb,%i.fkb).nick != $me) set %tmp.fkb %tmp.fkb $+ $crlf $+ kick %k.fkb $ialchan(%j.fkb,%k.fkb,%i.fkb).nick : $+ $iif($1 ischan,$iif($3,$3-,$addtok(Filter kickban of,%j.fkb,32)),$iif($2,$2-,$addtok(Filter kickban of,%j.fkb,32)))
  203.     goto start
  204.   }
  205.   if (%tmp.fkb) .quote %tmp.fkb
  206.   unset %tmp.fkb
  207. }
  208. fnk {
  209.   if ($1 ischan) fk $1 * $+ $2 $+ *!*@* $3-
  210.   else fk # * $+ $1 $+ *!*@* $2-
  211. }
  212. getops get.bot.ops # $1
  213. ht {
  214.   set %holdtopic. [ $+ [ # ] ] $chan(#).topic
  215.   set %hchan $addtok(%hchan,#,44)
  216.   if ($form(aliases,holdtopic)) iecho $readini %formats aliases holdtopic
  217.   else iecho Holding topic for $hc(#) $+ .
  218. }
  219. hwall hnotice $1-
  220. i invite $1-
  221. ia {
  222.   set %i.ia 0
  223.   :start
  224.   inc %i.ia
  225.   if ($chan(%i.ia)) {
  226.     if ((($me isop $chan(%i.ia)) || (i !isin $gettok($chan(%i.ia).mode,1,32))) && ($1 !ison $chan(%i.ia)) && ($chan(%i.ia) != %idlechan)) .quote invite $1 $chan(%i.ia)
  227.     goto start
  228.   }
  229. }
  230. invite {
  231.   if ($2 ischan) {
  232.     if ($form(ircn,invite)) iecho $readini %formats ircn invite
  233.     else iecho Invited $hc($1) to $hc($2) at $hc($atime) $+ .
  234.     .quote invite $1 $2
  235.   }
  236.   elseif (($1) && ($active ischan)) {
  237.     if ($form(ircn,invite)) iecho $readini %formats ircn invite
  238.     else iecho Invited $hc($1) to $hc($active) at $hc($atime) $+ .
  239.     .quote invite $1 $active
  240.   }
  241.   else iecho Syntax: /invite <nick> [#channel]
  242. }
  243. j join $1-
  244. join {
  245.   if ($chr(44) isin $1) {
  246.     set %i.join 0
  247.     :start
  248.     inc %i.join
  249.     if (#$gettok($1,%i.join,44)) {
  250.       if ($gettok($2,%i.join,44)) writeini -n ircndata.ini channel-keys #$gettok($1,%i.join,44) $gettok($2,%i.join,44)
  251.       if ($chn-key(#$gettok($1,%i.join,44))) .quote join #$gettok($1,%i.join,44) $chn-key(#$gettok($1,%i.join,44))
  252.       else .quote join #$gettok($1,%i.join,44)
  253.       goto start
  254.     }
  255.     set %jointime $ticks
  256.   }
  257.   elseif (#$1) {
  258.     if ($2) writeini -n ircndata.ini channel-keys #$1 $2
  259.     set %jointime $ticks
  260.     if ($chn-key(#$1)) .quote join #$1 $chn-key(#$1)
  261.     else .quote join #$1
  262.   }
  263. }
  264. kick {
  265.   if ($me ison $1) { .quote kick #$$1 $nc($2) : $+ $3- }
  266.   else .quote kick # $nc($$1) : $+ $2-
  267. }
  268. k .quote kick # $nc($$1) : $+ $2-
  269. kb {
  270.   if ($me ison $1) .quote mode $$1 $de-op($nc($$2),$$1) $+ $crlf $+ kick $$1 $nc($$2) : $+ $iif($3,$3-,%shitkick)
  271.   else .quote mode # $de-op($nc($$1),#) $+ $crlf $+ kick # $nc($$1) : $+ $iif($2,$2-,%shitkick)
  272. }
  273. kbc if ($me ison $1) kb $1-
  274. knop {
  275.   if ($1 ischan) {
  276.     if ($me !isop #) {
  277.       iecho You do not have ops on $hc(#) $+ .
  278.       return
  279.     }
  280.     unset %tmp.knop
  281.     set %i.knop 0
  282.     :start
  283.     inc %i.knop
  284.     if ($rnick($1,%i.knop)) {
  285.       set %tmp.knop %tmp.knop $+ $crlf $+ kick $1 $rnick($1,%i.knop) : $+ $iif($2,$2-,nonop kick)
  286.       goto start
  287.     }
  288.     if (%tmp.knop) .quote %tmp.knop
  289.     unset %tmp.knop
  290.   }
  291.   elseif ($active ischan) {
  292.     if ($me !isop #) {
  293.       iecho You do not have ops on $hc(#) $+ .
  294.       return
  295.     }
  296.     unset %tmp.knop
  297.     set %i.knop 0
  298.     :start
  299.     inc %i.knop
  300.     if ($rnick(#,%i.knop)) {
  301.       set %tmp.knop %tmp.knop $+ $crlf $+ kick # $rnick(#,%i.knop) : $+ $iif($1,$1-,nonop kick)
  302.       goto start
  303.     }
  304.     if (%tmp.knop) .quote %tmp.knop
  305.     unset %tmp.knop
  306.   }
  307.   else iecho Syntax: /knop [channel]
  308. }
  309. lmsg {
  310.   if (%efnet.hybrid6) {
  311.     iecho Sorry, this command can not be used on HYBRID 6 servers.
  312.     return
  313.   }
  314.   if (($active ischan) && ($snicks) && ($1)) {
  315.     mmsg $snicks $1-
  316.     if ($form(ircn,lmsg)) iiecho $readini %formats ircn lmsg
  317.     else iiecho [ $+ $sc(msg) $+ ( $+ $ac(Selected Nicks) $+ )] $1-
  318.   }
  319.   elseif (($active !ischan) && ($1)) iecho Not in a channel.
  320.   elseif (($snicks == $null) && ($1)) iecho No nicknames selected.
  321.   else iecho Syntax /lmsg <message>
  322. }
  323. lnotice {
  324.   if (%efnet.hybrid6) {
  325.     iecho Sorry, this command can not be used on HYBRID 6 servers.
  326.     return
  327.   }
  328.   if (($active ischan) && ($snicks) && ($1)) {
  329.     mnotice $snicks $1-
  330.     if ($form(ircn,lnotice)) iecho $readini %formats ircn lnotice
  331.     else iiecho [ $+ $sc(not) $+ ( $+ $ac(Selected Nicks) $+ )] $1-
  332.   }
  333.   elseif (($active !ischan) && ($1)) iecho Not in a channel.
  334.   elseif (($snicks == $null) && ($1)) iecho No nicknames selected.
  335.   else iecho Syntax /lnotice <message>
  336. }
  337. mdop {
  338.   if ($me !isop #) {
  339.     iecho You do not have ops on $hc(#) $+ .
  340.     return
  341.   }
  342.   unset %tmp.mmodenicks
  343.   set %tmp.mmode 0
  344.   :start
  345.   inc %tmp.mmode
  346.   if ($opnick(#,%tmp.mmode)) {
  347.     if ($opnick(#,%tmp.mmode) != $me) set %tmp.mmodenicks $addtok(%tmp.mmodenicks,$opnick(#,%tmp.mmode),32)
  348.     goto start
  349.   }
  350.   mmode # - o %tmp.mmodenicks
  351. }
  352. mdv {
  353.   if ($me !isop #) {
  354.     iecho You do not have ops on $hc(#) $+ .
  355.     return
  356.   }
  357.   unset %tmp.mmodenicks
  358.   set %tmp.mmode 0
  359.   :start
  360.   inc %tmp.mmode
  361.   if ($vnick(#,%tmp.mmode)) {
  362.     if ($vnick(#,%tmp.mmode) != $me) set %tmp.mmodenicks $addtok(%tmp.mmodenicks,$vnick(#,%tmp.mmode),32)
  363.     goto start
  364.   }
  365.   mmode # - v %tmp.mmodenicks
  366. }
  367. mi {
  368.   if (#$1) {
  369.     iecho Mass Inviting $hc(#) to $hc($1) $+ .
  370.     set %i 0
  371.     :start
  372.     inc %i
  373.     if ($nick(#,%i) != $null) {
  374.       if (($nick(#,%i) != $me) && ($nick(#,%i) !ison $1)) .quote invite $nick(#,%i) $1
  375.       goto start
  376.     }
  377.   }
  378.   else iecho Syntax: /mi <invite-to-chan>
  379. }
  380. mmode {
  381.   if (($1 !ischan) || ($4 == $null)) {
  382.     iecho Syntax: /mmode <channel> <+|-> <flag> <arguments>
  383.     return
  384.   }
  385.   unset %j.mmode %tmp.mmode
  386.   set %i.mmode 0
  387.   :start
  388.   inc %i.mmode
  389.   if ($gettok($4-,%i.mmode,32) != $null) {
  390.     set %j.mmode $addtok(%j.mmode,$gettok($4-,%i.mmode,32),32)
  391.     if ($gettok(%j.mmode,0,32) == %modesonline) {
  392.       set %tmp.mmode %tmp.mmode $+ $crlf $+ mode $1 $2 $+ $str($3,%modesonline) %j.mmode
  393.       unset %j.mmode
  394.     }
  395.     goto start
  396.   }
  397.   if (%j.mmode != $null) set %tmp.mmode %tmp.mmode $+ $crlf $+ mode $1 $2 $+ $str($3,$gettok(%j.mmode,0,32)) %j.mmode
  398.   .quote %tmp.mmode
  399.   unset %tmp.mmode
  400. }
  401. mmsg {
  402.   unset %tmp.mmsg
  403.   set %i.mmsg 0
  404.   :start
  405.   inc %i.mmsg
  406.   if ($gettok($1,%i.mmsg,44) != $null) {
  407.     if ($gettok($1,%i.mmsg,44) != $me) set %tmp.mmsg $addtok(%tmp.mmsg,$gettok($1,%i.mmsg,44),44)
  408.     if ($gettok(%tmp.mmsg,0,44) == 10) {
  409.       qmsg %tmp.mmsg $2-
  410.       unset %tmp.mmsg
  411.     }
  412.     goto start
  413.   }
  414.   if (%tmp.mmsg) qmsg %tmp.mmsg $2-
  415. }
  416. mnotice {
  417.   unset %tmp.mnotice
  418.   set %i.mnotice 0
  419.   :start
  420.   inc %i.mnotice
  421.   if ($gettok($1,%i.mnotice,44) != $null) {
  422.     if ($gettok($1,%i.mnotice,44) != $me) set %tmp.mnotice $addtok(%tmp.mnotice,$gettok($1,%i.mnotice,44),44)
  423.     if ($gettok(%tmp.mnotice,0,44) == 10) {
  424.       qnotice %tmp.mnotice $2-
  425.       unset %tmp.mnotice
  426.     }
  427.     goto start
  428.   }
  429.   if (%tmp.mnotice) qnotice %tmp.mnotice $2-
  430. }
  431. mop {
  432.   if ($me !isop #) {
  433.     iecho You do not have ops on $hc(#) $+ .
  434.     return
  435.   }
  436.   unset %tmp.mop
  437.   set %i.mop 0
  438.   :start
  439.   inc %i.mop
  440.   if ($nopnick(#,%i.mop)) {
  441.     set %tmp.mop $addtok(%tmp.mop,$nopnick(#,%i.mop),32)
  442.     goto start
  443.   }
  444.   mmode # + o %tmp.mop
  445. }
  446. mv {
  447.   if ($me !isop #) {
  448.     iecho You do not have ops on $hc(#) $+ .
  449.     return
  450.   }
  451.   unset %tmp.mv
  452.   set %i.mv 0
  453.   :start
  454.   inc %i.mv
  455.   if ($rnick(#,%i.mv)) {
  456.     set %tmp.mv $addtok(%tmp.mv,$rnick(#,%i.mv),32)
  457.     goto start
  458.   }
  459.   mmode # + v %tmp.mv
  460. }
  461. nmsg {
  462.   if (%efnet.hybrid6) {
  463.     iecho Sorry, this command can not be used on HYBRID 6 servers.
  464.     return
  465.   }
  466.   if ($1 != $null) {    
  467.     unset %tmp.nmsg
  468.     set %i.nmsg 0
  469.     :start
  470.     inc %i.nmsg
  471.     if ($nopnick(#,%i.nmsg) != $null) {
  472.       set %tmp.nmsg $addtok(%tmp.nmsg,$nopnick(#,%i.nmsg),44)
  473.       goto start
  474.     }
  475.     mmsg %tmp.nmsg [ $+ %nonops $+ : $+ # $+ ] $1-
  476.     if ($form(aliases,non-ops)) iiecho $readini %formats aliases non-ops
  477.     else iiecho -> [[ $+ %nonops $+ : $+ $hc(#) $+ ]] $1-
  478.   }
  479.   else iecho Syntax: /nmsg <message>
  480. }
  481. nn nnotice $1-
  482. nnotice {
  483.   if (%efnet.hybrid6) {
  484.     iecho Sorry, this command can not be used on HYBRID 6 servers.
  485.     return
  486.   }
  487.   if ($1 != $null) {
  488.     unset %tmp.nnotice
  489.     set %i.nnotice 0
  490.     :start
  491.     inc %i.nnotice
  492.     if ($nopnick(#,%i.nnotice) != $null) {
  493.       set %tmp.nnotice $addtok(%tmp.nnotice,$nopnick(#,%i.nnotice),44)
  494.       goto start
  495.     }
  496.     mnotice %tmp.nnotice [ $+ %nonops $+ : $+ # $+ ] $1-
  497.     if ($form(aliases,non-ops)) iiecho $readini %formats aliases non-ops
  498.     else iiecho -> [[ $+ %nonops $+ : $+ $hc(#) $+ ]] $1-
  499.   }
  500.   else iecho Syntax: /nnotice <message>
  501. }
  502. nwall nn $1-
  503. on wall $1-
  504. onjoin {
  505.   if ($2 !ischan) iecho Syntax: /onjoin +/-<m|n|c> <channel #>
  506.   elseif ($1 == +m) {
  507.     writeini -n $td(onjoin.txt) $2 msg $strip($$?="Enter onjoin message for [ $2 ] ")
  508.     iecho On join to $hc($2) $+ : (msg) $strip($!)
  509.   }
  510.   elseif ($1 == -m) {
  511.     remini $td(onjoin.txt) $2 msg
  512.     iecho Removed onjoin msg for $hc($2) $+
  513.   }
  514.   elseif ($1 == +n) {
  515.     writeini -n $td(onjoin.txt) $2 notice $strip($$?="Enter onjoin notice for [ $2 ] ")
  516.     iecho On join to $hc($2) $+ : (notice) $strip($!)
  517.   }
  518.   elseif ($1 == -n) {
  519.     remini $td(onjoin.txt) $2 notice
  520.     iecho Removed onjoin notice for $hc($2) $+ .
  521.   }
  522.   elseif ($1 == +c) {
  523.     writeini -n $td(onjoin.txt) $2 ctcp $strip($$?="Enter onjoin ctcp for [ $2 ] ")
  524.     iecho On join to $hc($2) $+ : (ctcp) $strip($!)
  525.   }
  526.   elseif ($1 == -c) {
  527.     remini $td(onjoin.txt) $2 ctcp
  528.     iecho Removed onjoin ctcp for $hc($2) $+ .
  529.   }
  530.   else iecho Syntax: /onjoin <+|-><m|n|c> <#channel>
  531. }
  532. op mmode # + o $1-
  533. p .quote part # $1-
  534. rban {
  535.   if ($1 == $null) {
  536.     set %showbans on
  537.     set %bansno 0
  538.     mode # b
  539.   }
  540.   elseif ($1 isnum) {
  541.     set %rtban $1
  542.     set %bansno 0
  543.     mode # b
  544.   }
  545.   else iecho Syntax: /rban [ban #]
  546. }
  547. relc msg $iif($1,$1,$active) %ctcprec
  548. relcr msg $iif($1,$1,$active) %ctcprrec
  549. relm msg $iif($1,$1,$active) %msgrec
  550. reln msg $iif($1,$1,$active) %notrec
  551. relsc msg $iif($1,$1,$active) %ctcpsent
  552. relsm msg $iif($1,$1,$active) %msgsent
  553. relsn msg $iif($1,$1,$active) %notsent
  554. rj {
  555.   if ($1) {   
  556.     if ($findtok(%autojoin. [ $+ [ %irc.network ] ] ,$1,1,44)) {
  557.       set %autojoin. [ $+ [ %irc.network ] ] $remtok(%autojoin. [ $+ [ %irc.network ] ] ,$1,44)
  558.       iecho Removed $hc($1) from $sc(%irc.network) autojoin.
  559.     }
  560.     else iecho Unable to locate $hc($1) in $sc(%irc.network) autojoin.
  561.   }
  562.   elseif ($chan) {
  563.     if ($findtok(%autojoin. [ $+ [ %irc.network ] ] ,#,1,44)) {
  564.       set %autojoin. [ $+ [ %irc.network ] ] $remtok(%autojoin. [ $+ [ %irc.network ] ] ,#,44)
  565.       iecho Removed $hc(#) from $sc(%irc.network) autojoin.
  566.     }
  567.     else iecho Unable to locate $hc(#) in $sc(%irc.network) autojoin.
  568.   }
  569.   else iecho Syntax: /rj [#channel]
  570. }
  571. rt topic # $read -n $td(quotes.txt)
  572. sb {
  573.   if ($2) .quote mode # $de-op($nc($$1),#,sb) $+ $crlf $+ kick # $nc($$1) : $+ $2-
  574.   else .quote mode # $de-op($nc($$1),#,sb) $+ $crlf $+ kick # $nc($$1) : $+ %shitkick
  575. }
  576. t topic # $1-
  577. topic {
  578.   if ($1 != $null) topic $1-
  579.   else topic #
  580. }
  581. tban {
  582.   if ($me !isop #) {
  583.     iecho You do not have ops on $hc(#) $+ .
  584.     return
  585.   }
  586.   elseif (d isin $1) {
  587.     set %tban on
  588.     set %tban.t $mpy($remove($1,d),86400)
  589.     mode # b
  590.   }
  591.   elseif (h isin $1) {
  592.     set %tban on
  593.     set %tban.t $mpy($remove($1,h),3600)
  594.     mode # b
  595.   }
  596.   elseif (m isin $1) {
  597.     set %tban on
  598.     set %tban.t $mpy($remove($1,m),60)
  599.     mode # b
  600.   }
  601.   else iecho Syntax: /tban <duration [d|h|m]>
  602. }
  603. umop {
  604.   if ($me !isop #) {
  605.     iecho You do not have ops on $hc(#) $+ .
  606.     return
  607.   }
  608.   unset %tmp.umop
  609.   set %i.umop 0
  610.   :start
  611.   inc %i.umop
  612.   if ($nopnick(#,%i.umop) != $null) {
  613.     if ($chkflag($usr($nopnick(#,%i.umop)),#,o)) set %tmp.umop $addtok(%tmp.umop,$nopnick(#,%i.umop),32)
  614.     goto start
  615.   }
  616.   if (%tmp.umop) mmode # + o %tmp.umop
  617.   else iecho All registered ops in # have ops.
  618. }
  619. umdop  {
  620.   if ($me !isop #) {
  621.     iecho You do not have ops on $hc(#) $+ .
  622.     return
  623.   }
  624.   unset %tmp.umdop
  625.   set %i.umdop 0
  626.   :start
  627.   inc %i.umdop
  628.   if ($opnick(#,%i.umdop) != $null) {
  629.     if ($chkflag($usr($opnick(#,%i.umdop)),#,o) == $false) set %tmp.umdop $addtok(%tmp.umdop,$opnick(#,%i.umdop),32)
  630.     goto start
  631.   }
  632.   if (%tmp.umdop) mmode # - o %tmp.umdop
  633.   else iecho All ops in # are registered.
  634. }
  635. umv {
  636.   if ($me !isop #) {
  637.     iecho You do not have ops on $hc(#) $+ .
  638.     return
  639.   }
  640.   unset %tmp.umv
  641.   set %i.umv 0
  642.   :start
  643.   inc %i.umv
  644.   if ($nvnick(#,%i.umv) != $null) {
  645.     if ($chkflag($usr($nvnick(#,%i.umv)),#,v)) set %tmp.umv $addtok(%tmp.umv,$nvnick(#,%i.umv),32)
  646.     goto start
  647.   }
  648.   if (%tmp.umv) mmode # + v %tmp.umv
  649.   else iecho All registered voiced users in # are voiced.
  650. }
  651. umdv {
  652.   if ($me !isop #) {
  653.     iecho You do not have ops on $hc(#) $+ .
  654.     return
  655.   }
  656.   unset %tmp.umdv
  657.   set %i.umdv 0
  658.   :start
  659.   inc %i.umdv
  660.   if ($vnick(#,%i.umdv) != $null) {
  661.     if ($chkflag($usr($vnick(#,%i.umdv)),#,v) == $false) set %tmp.umdv $addtok(%tmp.umdv,$vnick(#,%i.umdv),32)
  662.     goto start
  663.   }
  664.   if (%tmp.umdv) mmode # - v %tmp.umdv
  665.   else iecho All voiced users in # are registered.
  666. }
  667. unban {
  668.   if ($me !isop #) {
  669.     iecho You do not have ops on $hc(#) $+ .
  670.     return
  671.   }
  672.   elseif ($1 != $null) {
  673.     set %u.mask $1
  674.     set %unban.1 on
  675.     set %b 0
  676.     mode # b
  677.   }
  678.   else iecho Syntax: /unban <hostmask>
  679. }
  680. ut {
  681.   if ($findtok(%hchan,#,1,44) == $null) {
  682.     iecho You weren't holding topic for $hc(#) $+ !
  683.     return
  684.   }
  685.   set %hchan $remtok(%hchan,#,1,44)
  686.   unset %holdtopic. [ $+ [ # ] ]
  687.   if ($form(aliases,unhold)) iecho $readini %formats aliases unhold
  688.   else iecho Topic has been unheld for $hc(#) $+ .
  689. }
  690. v mmode # + v $1-
  691. vmsg {
  692.   if ($1 != $null) {
  693.     if (%efnet.hybrid6) qmsg @+ $+ # [ $+ %voice $+ : $+ # $+ ] $1-
  694.     else {
  695.       unset %tmp.vmsg
  696.       set %i.vmsg 0
  697.       :start
  698.       inc %i.vmsg
  699.       if ($vnick(#,%i.vmsg) != $null) {
  700.         if ($vnick(#,%i.vmsg) !isop #) set %tmp.vmsg $addtok(%tmp.vmsg,$vnick(#,%i.vmsg),44)
  701.         goto start
  702.       }
  703.       set %i.vmsg 0
  704.       :start2
  705.       inc %i.vmsg
  706.       if ($opnick(#,%i.vmsg) != $null) {
  707.         set %tmp.vmsg $addtok(%tmp.vmsg,$opnick(#,%i.vmsg),44)
  708.         goto start2
  709.       }
  710.       mmsg %tmp.vmsg [ $+ %voice $+ : $+ # $+ ] $1-
  711.     }
  712.     if ($form(aliases,voice)) iiecho $readini %formats aliases voice
  713.     else iiecho -> [[ $+ %voice $+ : $+ $hc(#) $+ ]] $1-
  714.   }
  715.   else iecho Syntax: /vmsg <message>
  716. }
  717. vn vnotice $1-
  718. vnotice {
  719.   if ($1 != $null) {
  720.     if (%efnet.hybrid6) qnotice @+ $+ # [ $+ %voice $+ : $+ # $+ ] $1-
  721.     else {
  722.       unset %tmp.vnotice
  723.       set %i.vnotice 0
  724.       :start
  725.       inc %i.vnotice
  726.       if ($vnick(#,%i.vnotice) != $null) {
  727.         if ($vnick(#,%i.vnotice) !isop #) set %tmp.vnotice $addtok(%tmp.vnotice,$vnick(#,%i.vnotice),44)
  728.         goto start
  729.       }
  730.       set %i.vnotice 0
  731.       :start2
  732.       inc %i.vnotice
  733.       if ($opnick(#,%i.vnotice) != $null) {
  734.         set %tmp.vnotice $addtok(%tmp.vnotice,$opnick(#,%i.vnotice),44)
  735.         goto start2
  736.       }
  737.       mnotice %tmp.vnotice [ $+ %voice $+ : $+ # $+ ] $1-
  738.     }
  739.     if ($form(aliases,voice)) iiecho $readini %formats aliases voice
  740.     else iiecho -> [[ $+ %voice $+ : $+ $hc(#) $+ ]] $1-
  741.   }
  742.   else iecho Syntax: /vnotice <message>
  743. }
  744. vwall vnotice $1-
  745. wall {
  746.   if ($1 != $null) {
  747.     if (%efnet.hybrid6) qnotice @ $+ # [ $+ %wall $+ : $+ # $+ ] $1-
  748.     elseif ($me isop #) .onotice # [ $+ %wall $+ : $+ # $+ ] $1-
  749.     else {
  750.       unset %tmp.wall
  751.       set %i.wall 0
  752.       :start
  753.       inc %i.wall
  754.       if ($opnick(#,%i.wall) != $null) {
  755.         set %tmp.wall $addtok(%tmp.wall,$opnick(#,%i.wall),44)
  756.         goto start
  757.       }
  758.       mnotice %tmp.wall [ $+ %wall $+ : $+ # $+ ] $1-
  759.     }
  760.     if ($form(aliases,wall)) iiecho $readini %formats aliases wall
  761.     else iiecho -> [[ $+ %wall $+ : $+ $hc(#) $+ ]] $1-
  762.   }
  763.   else iecho Syntax: /wall <message>
  764. }
  765. wallm {
  766.   if ($1 != $null) {
  767.     if (%efnet.hybrid6) qmsg @ $+ # [ $+ %wall $+ : $+ # $+ ] $1-
  768.     elseif ($me isop #) .omsg # [ $+ %wall $+ : $+ # $+ ] $1-
  769.     else {
  770.       unset %tmp.wallm
  771.       set %i.wallm 0
  772.       :start
  773.       inc %i.wallm
  774.       if ($opnick(#,%i.wallm) != $null) {
  775.         set %tmp.wallm $addtok(%tmp.wallm,$opnick(#,%i.wallm),44)
  776.         goto start
  777.       }
  778.       mmsg %tmp.wallm [ $+ %wall $+ : $+ # $+ ] $1-
  779.     }
  780.     if ($form(aliases,wall)) iiecho $readini %formats aliases wall
  781.     else iiecho -> [[ $+ %wall $+ : $+ $hc(#) $+ ]] $1-
  782.   }
  783.   else iecho Syntax: /wallm <message>
  784. }
  785. wl wall $1-
  786. wn wall $1-
  787. wm wallm $1-
  788. wallh hn $1-
  789. wallv vn $1-
  790. walln nn $1-
  791. uwall {
  792.   if (%efnet.hybrid6) {
  793.     iecho Sorry, this command can not be used on HYBRID 6 servers. Use /wall instead.
  794.     return
  795.   }
  796.   if ($1 != $null) {
  797.     unset %tmp.uwall
  798.     set %i.uwall 0
  799.     :start
  800.     inc %i.uwall
  801.     if ($opnick(#,%i.uwall) != $null) {
  802.       if ($chkflag($usr($opnick(#,%i.uwall)),$null,b) == $false) set %tmp.uwall $addtok(%tmp.uwall,$opnick(#,%i.uwall),44)
  803.       goto start
  804.     }
  805.     mnotice %tmp.uwall [ $+ %wall $+ : $+ # $+ ] $1-
  806.     if ($form(aliases,wall)) iiecho $readini %formats aliases wall
  807.     else iiecho -> [[ $+ %wall $+ : $+ $hc(#) $+ ]] $1-
  808.   }
  809.   else iecho Syntax: /uwall <message>
  810. }
  811.